1. Field of the Invention
This invention relates to the transmission of entertainment programming, and more specifically to the merging of multiple encoded audio and video streams into a single program in the transport stream to enable playback of any audio stream with any video stream.
2. Description of the Related Art
Television programs are distributed to viewers by a variety of broadcasting methods. These methods include traditional analog broadcast television (National Television Systems Committee or “NTSC” standard), the digital broadcast television “Advanced Television Systems Committee” or “ATSC” standard), cable television (both analog and digital), satellite broadcasting (both analog and digital), as well as other methods. These methods allow audio and video streams for television programming to be encoded multiplexed into a transport stream that is transmitted over a common transmission medium.
As shown in FIG. 1, the “headend” 10 of a satellite broadcast system 12 includes among other functions a traffic & scheduling center 14, a satellite broadcast center 16 and a conditional access management center (CAMC) 18. The broadcast center encodes, encrypts and multiplexes programming content, either stored or from live feeds 20, into a packetized transport stream 22 that is uplinked to satellites 24 via an antenna 26.
To view a television program on a TV 28, a subscriber may have to subscribe to a service package offered by a pay-TV service/transmission provider such as a direct broadcast satellite (DBS) operator (e.g., DIRECTV) or a cable company. Such a pay-TV service provider may require a subscriber to utilize an integrated receiver decoder (IRD) 30 that enables the descrambling or decryption of the transmission downloaded from an antenna 32. The IRD may be configured to allow the viewing of one or more particular channels, programs, etc. based on a subscriber's payment or subscription.
As shown in FIG. 2, a typical MPEG packet 40 in the transport stream is of a fixed length, 188 bytes for standard DVB, of which the first 4 bytes contain header information 42 and the remainder is payload 44. The header includes among other things a sync byte “0x47”, a payload_unit_start flag, the program ID (PID), and an adaptation_field_control flag. The PID is a number. The program guide defines what (audio, video, conditional access table, etc.) is on a given PID. If the adaptation_field_control flags are set, the packet contains an adaptation field and may contain a program clock reference (PCR) for the associated data stream. Traditionally, the PCR appears on the video stream but may appear on both audio and video or on a separate PID. If the payload_unit_start flag is high, the packet contains a PES header, which may contain a presentation time stamp (PTS). Each program including a video stream and/or one or more audio streams has an associated PCR that establishes its clock. The PTS is included in both the audio and video streams and tells the IRD at what time relative to the PCR to play the stream. The PES header may also include a decoder time stamp (DTS) that suggests when the decoder should start decoding to achieve the PTS. For complete description of the packet structure and transport stream see ISO/IEC 13818-1.
As shown in FIG. 3, the 1st generation MPEG encoders 50 utilized by DirecTV and produced by Compression Labs, Inc. (CLI) took synchronized audio/video (A/V) inputs 52 from various sources such that all sources had exactly the same frequency. Frame synchronization was typically accomplished by feeding a reference signal 54 along with the A/V inputs 52 to a frame synchronizer 56. Thereafter each program was encoded and multiplexed together. The Mux 58 had one 27 MHz MPEG clock reference 59 locked to a reference input video through either the sync pulses in analog video or a serial digital video in. A counter in clock reference 59 derived the PCR for each encoded codestream from that one clock. As a result, all of the programs were in sync with both the “frame” and “clock”. However, because CLI's common MPEG clock approach required that all the inputs be synchronized and all the encoders are collocated with the Mux in a card cage it was not well accepted by customers and the approach was abandoned by the industry.
Current generation manufacturers such as Divicom, Thomson, and Motorola now produce MPEG Encoder/Program Mux boxes 60 that operate independently of one another as shown in FIG. 4 to encode a video and one or more audio inputs. Each box includes a separate MPEG clock reference 61 that is locked to the input video to generate a multiplexed program stream 62 with unique PCR and PTS time stamps. A counter simply counts tics of the clock reference to generate the time stamps. The PCR has an “epoch” or beginning of time where the counter is set to zero and then rolls over some time later, e.g. every 36 hours. The counters in different encoder boxes will have different epochs, and thus will not be encoder synchronized. A provider can use distinct encoder boxes for different (non-synced) sources of programming and a Mux 64 to multiplex the program streams together into the transport stream 22. A transport stream in which the programs are referenced off of different and independent PCRs supports normal “channel surfing” and does not have the constraints associated with frame and clock synchronization.